package com.cicc.springboot.entity;

import java.io.Serializable;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cicc.springboot.utile.ExcelDataConverter;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import java.sql.Timestamp;
import java.util.Date;

/**
 * @Description
 * @Author haida.yu
 * @Date 2024-09-27
 */

@Data
@NoArgsConstructor
@TableName("srm_material_zmara")
public class MaterialZmaraEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Column(name = "id")
    private Long id;


    /**
     * 物料号
     */
    @Column(name = "matnr")
    @ExcelProperty(value = "物料号")
    private String matnr;

    /**
     * 在客户级标记要删除的物料
     */
    @Column(name = "lvorm")
    @ExcelProperty(value = "客户级标记要删除的物料")
    private String lvorm;

    /**
     * 创建对象的人员名称
     */
    @Column(name = "ernam")
    @ExcelProperty(value = "创建对象的人员名称")
    private String ernam;

    /**
     * 对象更改人员的名称
     */
    @Column(name = "aenam")
    @ExcelProperty(value = "对象更改人员的名称")
    private String aenam;

    /**
     * 维护全部物料状态
     */
    @Column(name = "vpsta")
    @ExcelProperty(value = "维护全部物料状态")
    private String vpsta;

    /**
     * 维护状态
     */
    @Column(name = "pstat")
    @ExcelProperty(value = "维护状态")
    private String pstat;

    /**
     * 物料类型
     */
    @Column(name = "mtart")
    @ExcelProperty(value = "物料类型")
    private String mtart;

    /**
     * 物料组
     */
    @Column(name = "matkl")
    @ExcelProperty(value = "物料组")
    private String matkl;

    /**
     * 产品组
     */
    @Column(name = "spart")
    @ExcelProperty(value = "产品组")
    private String spart;

    /**
     * 跨分销链定价参照物料
     */
    @Column(name = "pmata")
    @ExcelProperty(value = "跨分销链定价参照物料")
    private String pmata;

    /**
     * 基本计量单位
     */
    @Column(name = "meins")
    @ExcelProperty(value = "基本计量单位")
    private String meins;

    /**
     * 大小/量纲
     */
    @Column(name = "groes")
    @ExcelProperty(value = "大小")
    private String groes;

    /**
     * 重量单位
     */
    @Column(name = "gewei")
    @ExcelProperty(value = "重量单位")
    private String gewei;

    /**
     * 国际文件号(EAN/UPC)
     */
    @Column(name = "ean11")
    @ExcelProperty(value = "国际文件号")
    private String ean11;

    /**
     * 跨工厂物料状态
     */
    @Column(name = "mstae")
    @ExcelProperty(value = "跨工厂物料状态")
    private String mstae;

    /**
     * 开始生效日期
     */
    @Column(name = "datab")
    @ExcelProperty(value = "开始生效日期", converter = ExcelDataConverter.class)
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")  //定义日期格式
    private Date datab;

    /**
     * 删除日期
     */
    @Column(name = "liqdt")
    @ExcelProperty(value = "删除日期", converter = ExcelDataConverter.class)
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")  //定义日期格式
    private Date liqdt;

    /**
     * 跨分销链物料状态
     */
    @Column(name = "mstav")
    @ExcelProperty(value = "跨分销链物料状态")
    private String mstav;

    /**
     * 从跨工厂物料状态有效起的日期
     */
    @Column(name = "mstde")
    @ExcelProperty(value = "跨工厂物料状态有效起的日期", converter = ExcelDataConverter.class)
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")  //定义日期格式
    private Date mstde;

    /**
     * 从跨分销链物料状态有效起的日期
     */
    @Column(name = "mstdv")
    @ExcelProperty(value = "跨分销链物料状态有效起的日期", converter = ExcelDataConverter.class)
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")  //定义日期格式
    private Date mstdv;

    /**
     * 普通项目类别组
     */
    @Column(name = "mtpos_mara")
    @ExcelProperty(value = "普通项目类别组")
    private String mtposMara;

    /**
     * 物料类别
     */
    @Column(name = "attyp")
    @ExcelProperty(value = "物料类别")
    private String attyp;

    /**
     * 一般可配置物料
     */
    @Column(name = "satnr")
    @ExcelProperty(value = "一般可配置物料")
    private String satnr;

    /**
     * 创建日期
     */
    @Column(name = "ersda")
    @ExcelProperty(value = "创建日期", converter = ExcelDataConverter.class)
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")  //定义日期格式
    private Date ersda;

    /**
     * 上次更改的日期
     */
    @Column(name = "laeda")
    @ExcelProperty(value = "上次更改日期", converter = ExcelDataConverter.class)
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")  //定义日期格式
    private Date laeda;

    /**
     * 毛重
     */
    @Column(name = "brgew")
    @ExcelProperty(value = "毛重")
    private Double brgew;

    /**
     * 净重
     */
    @Column(name = "ntgew")
    @ExcelProperty(value = "净重")
    private Double ntgew;

    /**
     * 数量: 待打印的 GR/GI 单数量
     */
    @Column(name = "wesch")
    @ExcelProperty(value = "数量")
    private Double wesch;

    /**
     * 长度
     */
    @Column(name = "laeng")
    @ExcelProperty(value = "长度")
    private Double laeng;

    /**
     * 宽度
     */
    @Column(name = "breit")
    @ExcelProperty(value = "宽度")
    private Double breit;

    /**
     * 高度
     */
    @Column(name = "hoehe")
    @ExcelProperty(value = "高度")
    private Double hoehe;

    /**
     * 供应商或债权人的帐号
     */
    @Column(name = "lifnr")
    @ExcelProperty(value = "供应商或债权人的帐号")
    private String lifnr;

    /**
     * 供应商使用的物料编号
     */
    @Column(name = "idnlf")
    @ExcelProperty(value = "供应商使用的物料编号")
    private String idnlf;

    /**
     * 物料描述（短文本）
     */
    @Getter
    @Column(name = "maktx_zh")
    @ExcelProperty(value = "物料名称")
    private String maktxZh;

    /**
     * 物料描述（短文本）
     */
    @Column(name = "maktx_en")
    @ExcelProperty(value = "物料描述")
    private String maktxEn;

    /**
     * 创建者
     */
    @Column(name = "create_by")
    @ExcelProperty(value = "创建者")
    private String createBy;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    @ExcelProperty(value = "创建时间", converter = ExcelDataConverter.class)
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")  //定义日期格式
    private Date createTime;

    /**
     * 更新者
     */
    @Column(name = "update_by")
    @ExcelProperty(value = "更新者")
    private String updateBy;

    /**
     * 更新时间
     */
    @Column(name = "update_time")
    @ExcelProperty(value = "更新时间", converter = ExcelDataConverter.class)
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")  //定义日期格式
    private Date updateTime;

    /**
     * 租户ID
     */
    @Column(name = "tenant_id")
    @ExcelProperty(value = "租户ID")
    private Long tenantId;

    /**
     * 批次ID
     */
    @Column(name = "batch_id")
    @ExcelProperty(value = "批次ID")
    private String batchId;

    /**
     * 物料状态(0：启用1：禁用)
     */
    @Column(name = "material_state")
    @ExcelProperty(value = "物料状态")
    private String materialState;

    /**
     * 包装规划id
     */
    @Column(name = "packaging_id")
    @ExcelProperty(value = "包装规划id")
    private Long packagingId;

    /**
     * 长度单位
     */
    @Column(name = "length_unit")
    @ExcelProperty(value = "长度单位")
    private String lengthUnit;

}
